//
//  XJSelectStandardsView.h
//  XinJiangMall
//
//  Created by RaoBo on 2018/5/9.
//  Copyright © 2018年 Tzyang. All rights reserved.
//  

#import <UIKit/UIKit.h>
/**
 业务逻辑
 VC
 ----------
 cell (选择规格) 点击的是选择cell 我只需要将选择的规格字典传出去
      -----------          ---------
 V1  |加入购物车按钮|        |立即购买按钮|
      ------------          ---------
 
 
 --------------------------------------
 
        \               /
         \             /
          \           /
 ---------------------------
            --------
 V2         | 确定按钮|
            ---------
 网络请求还是放到外边。点击那个按钮将外面传的状态在通过block会传取出。根据回调中的枚举值进行不同处理:加入购物出 / 立即购买
 */
/**定义一个枚举用于判断点击的是哪个按钮 a.选择规格 b.加入购物车按钮、c.立即购买按钮 */
typedef NS_ENUM(NSInteger,XJSelectStandardsViewBuyType){
    XJSelectStandardsViewXZGJType = 0, // 点击的就是选择规格cell 就不需要附加操作直接把选择的参数回调出去。
    XJSelectStandardsViewAddCartType, //加入购物车按钮点击的
    XJSelectStandardsViewBuyNowType   //立即购买按钮点击的 注意预支付接口新加了一个字段直接购买传0,从待支付页面进入传1 code
};

@class XJFeatureSectionItemModel;
@class XJStockModel;
/**
 选择的规格:choseGoodsInfoDic
 点击的是哪一个按钮:type
 */
typedef void(^XJSelectStandardsViewClickSureBtnBlock)(NSDictionary *choseGoodsInfoDic, XJSelectStandardsViewBuyType type);

@interface XJSelectStandardsView : UIView
/**选择规格 外界传过来的数据源数组*/
@property(nonatomic, strong) NSMutableArray<XJFeatureSectionItemModel *> *dataArr;
/**库存数组*/
@property(nonatomic, strong) NSArray <XJStockModel *> *stockArr;

/**要购买的商品的信息, 对应这个 XJBuyInfoModel */
@property(nonatomic, strong) NSDictionary *buyInfoDic;

/**点击确定按钮的回调*/
@property (nonatomic, copy) XJSelectStandardsViewClickSureBtnBlock clickSureBtnBlock;

/**
 显示选择规格view

 @param type 用于标记点击的是加入购物车 还是 立即购买
 */
- (void)rb_showSelectStandardsViewWithType:(XJSelectStandardsViewBuyType)type;

/**隐藏选择规格view*/
- (void)rb_hideSelectStandardsView;


@end
